"""给定一个排序数组和一个目标值，在数组中找到目标值，并返回其索引。如果目标值不存在于数组中，
返回它将会被按顺序插入的位置。

请必须使用时间复杂度为 O(log n) 的算法。"""


class Solution(object):
    def searchInsert(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: int
        """
        # if len(nums) <=1:
        #     if nums[0]>=target:return 0
        #     else:return 1
        # if nums[-1] < target:return len(nums)
        # for i in range(0,len(nums)-1):
        #
        #     if nums[i] > target:
        #         return 0
        #     if nums[i] == target:
        #         return i
        #     elif nums[-1] == target:
        #         return len(nums)-1
        #     elif nums[i] < target < nums[i+1]:
        #         return i+1
        return len([i for i in nums if i < target])


print(Solution().searchInsert(nums =[1,2,3], target =3))